package org.jmc.refmanager.domain.model.filter;


/**
 * 
 *
 */
public final class OrgUnitFilter extends AbstractFilter {

	public static final String TYPE = "type";
	public static final String TG_DEPARTEMENT = "tgDepartement";
	public static final String TELEPHONE = "telephone";
	public static final String SUPPRIME = "supprime";
	public static final String SGAP_RH = "sgapRH";
	public static final String SGAP_FIN = "sgapFIN";
	public static final String SECTEUR_DIFFICILE = "secteurDifficile";
	public static final String SAO = "sao";
	public static final String SAA = "saa";
	public static final String RESCOM = "rescom";
	public static final String REGION = "region";
	public static final String PARENT_PATH = "parentPath";
	public static final String PARENT_ID = "parentId";
	public static final String NUM_RUE = "numRue";
	public static final String MOTIF_SUPPRESSION = "motifSuppression";
	public static final String MOTIF_CREATION = "motifCreation";
	public static final String MODIFICATION_DATE = "modificationDate";
	public static final String MODIF_ADRESSE = "modifAdresse";
	public static final String MAIL = "mail";
	public static final String LIB_MODIFIE = "libModifie";
	public static final String LIB_LONG = "libLong";
	public static final String LIB_COURT = "libCourt";
	public static final String LIB_COMPLET = "libComplet";
	public static final String INSEE = "insee";
	public static final String DROIT_MAJ = "droitMaj";
	public static final String DIR_NIV_L02 = "dirNivL02";
	public static final String DIR_NIV_L01 = "dirNivL01";
	public static final String DIR_NIV_C02 = "dirNivC02";
	public static final String DIR_NIV_C01 = "dirNivC01";
	public static final String DIALOG_DEPARTEMENT = "dialogDepartement";
	public static final String DEPTH = "depth";
	public static final String DEPARTEMENT = "departement";
	public static final String DATE_FIN = "dateFin";
	public static final String DATE_EFFET2 = "dateEffet2";
	public static final String DATE_EFFET1 = "dateEffet1";
	public static final String DATE_CREATION = "dateCreation";
	public static final String CREE = "cree";
	public static final String COMPLEMENT_NUM_RUE = "complementNumRue";
	public static final String COMPLEMENT_ADRESSE = "complementAdresse";
	public static final String COMMUNE = "commune";
	public static final String COMMENTAIRE = "commentaire";
	public static final String CODE_UO = "codeUO";
	public static final String CODE_REGROUPEMENT = "codeRegroupement";
	public static final String CODE_POSTAL = "codePostal";
	public static final String ASA = "asa";
	public static final String ADRESSE = "adresse";
	public static final String ADRESSE_POSTALE = "adressePostale";
	public static final String DEPLACE = "deplace";
	
	/*
	 * 
	 */
	public final static String[] allProperties = new String[] {
		ADRESSE, ADRESSE_POSTALE, ASA, CODE_POSTAL, CODE_REGROUPEMENT, CODE_UO, 
		COMMENTAIRE, COMMUNE, COMPLEMENT_ADRESSE, COMPLEMENT_NUM_RUE, 
		CREE, DATE_CREATION, DATE_EFFET1, DATE_EFFET2, DATE_FIN, 
		DEPARTEMENT, DEPLACE, DEPTH, DIALOG_DEPARTEMENT, DIR_NIV_C01, DIR_NIV_C02, 
		DIR_NIV_L01, DIR_NIV_L02, DROIT_MAJ, INSEE, LIB_COMPLET, LIB_COURT, 
		LIB_LONG, LIB_MODIFIE, MAIL, MODIF_ADRESSE, MODIFICATION_DATE, 
		MOTIF_CREATION, MOTIF_SUPPRESSION, NUM_RUE, PARENT_ID, 
		PARENT_PATH, REGION, RESCOM, SAA, SAO, SECTEUR_DIFFICILE, 
		SGAP_FIN, SGAP_RH, SUPPRIME, TELEPHONE, TG_DEPARTEMENT, TYPE
	};
	
	public String[] getAllProperties() {
		return allProperties;
	}
	
	/**
	 * 
	 * @return
	 */
	public static String[] filterSearchForm() {
		String[] props = AbstractFilter.getExcludeProperties(allProperties, new String[] {
				LIB_COURT, LIB_LONG, CODE_UO, CODE_POSTAL, SUPPRIME, PARENT_PATH
		});
		
		return props;
	}
}
